﻿

<!--********************* Part1:Jsp Head *********************-->

<%@ page contentType="text/html;charset=UTF-8"%>  
<%@ include file="/framework/head.jsp"%>

<!--********************* Part2:Java Code *********************-->
<%
	BusMaterialAccountSearchEvent event = (BusMaterialAccountSearchEvent)context.getSessionValue("BusMaterialAccountSearchEvent");
	ObjectList list = BusMaterialAccount.fetch().search(con,event);
%>

<!--********************* Part3:JavaScript Code ***************-->
<!--start 客户端脚本区域-->
<%@page import="system.base.BusMaterialAccountBusiness"%>
<%@page import="system.base.BusMaterialAccount"%>
<%@page import="system.base.Warehouse"%>
<%@page import="java.util.Vector"%>
<script language=javascript>

var list_code = "listBusMaterialAccount";

function doSearch()
{
	//SetValue("s_Id",GetValue("i_Id")); //序号
	//SetValue("s_BusTypeCode",GetValue("i_BusTypeCode")); //车型编码
	//SetValue("s_BusCategoryCode",GetValue("i_BusCategoryCode")); //车类编码
	//SetValue("s_BusTag",GetValue("i_BusTag")); //车牌号
    //SetValue("s_RepairedMoney",GetValue("i_RepairedMoney")); //维修费用
    //SetValue("s_OrderField",GetValue("i_OrderField")); //排序
    //SetValue("s_OrderDesc",getCheckBoxValues("i_OrderDesc")); //升降序
    var time = GetValue("i_Year")+GetValue("i_Month");
    //alert(time);
	//SetValue("s_RepairenTime",GetValue("i_RepairenTime")); //维修时间
    //SetValue("s_WarehouseCode",GetValue("i_WarehouseCode")); //仓库编码
    SetValue("s_RepairenTime",time); //结算时间
	doCommonSearch();
}

function bizViewBusMaterialAccount(id)
{
	viewWin("<%=Config.getSrv()%>?action_code=viewBusMaterialAccount&Id="+id);
}

function doDelete()
{
	if(!hasChooseRadio("ids"))
	{
		bizMessage("删除","车辆维修材料费用");
		return false;
	}
	if(!bizConfirm("删除","车辆维修材料费用")) return false;
	SetAction("deleteBusMaterialAccount");
	frm.submit();
}

function doToAdd()
{
	SetAction("toAddBusMaterialAccount");
	frm.submit();
}

function doToUpdate()
{
	if(!checkOne("ids")) 
	{
		bizMessage("修改","车辆维修材料费用");
		return false;
	}
	SetValue("Id",getCheckBoxValue("ids"));
	SetAction("toUpdateBusMaterialAccount");
	frm.submit();
}
function doToCopy()
{
	if(!checkOne("ids")) 
	{
		bizMessage("复制","车辆维修材料费用");
		return false;
	}
	SetValue("Id",getCheckBoxValue("ids"));
	SetAction("toCopyBusMaterialAccount");
	frm.submit();
}

key_InitDefault();
key_RegSubmitHandler(doSearch);
</script>


<%=uiBody%>>

<%@ include file="/framework/menu.jsp"%>

<!--********************* Part4:Form  ***************-->
<form id=frm action="<%=Config.getSrv()%>" method="post">
<input type=hidden name="action_code" value="">
<input type=hidden name="Id" value="">
<input type=hidden name=sortOrder value="1">

<!--查询条件保留区域-->

<input type=hidden name="s_RepairenTime" value="<%=event.getRepairenTime()%>"> <!--维修时间-->

<%
String time = event.getRepairenTime();
String year = time.substring(0,4);
String month = time.substring(4,6);
%>
<%@ include file="/framework/list_head.jsp"%>

<br>
<!--********************* Part5:Search Area ***************-->
<%=uiSearchStart%>>
<%
	int key_tab = 1 ;
%>
    <%=uiSearchInputTR%>>
        <%=uiSearchInputTDHead%>>
            选择结算月份：
        </td>
        <%=uiSearchInputTDHead%>>
            <%=SelectManager.viewYearSelect(con,"i_Year",year,false,"","-请选择-","","")%>  <%=SelectManager.viewMonthSelect(con,"i_Month",month,false,"","-请选择-","","")%>
            <input type="button" value="查询" class="buttons" onclick="doSearch();return false;">&nbsp;
        </td>       
    </tr>  

<%=uiSearchEnd%>

<!--列表标题--><%
    boolean isfirst = ((Boolean)(context.getSessionValue("isfirst"))).booleanValue();
    String menu = (String)context.getSessionValue("choice");
    Vector vec = (Vector)context.getValue(menu);
    String[] warehouseCodes = null;
    if(!isfirst && vec != null && vec.size() > 0){
        warehouseCodes = BusMaterialAccountBusiness.getStr(vec,1);//得到所有的仓库编码
        warehouseCodes = BusMaterialAccountBusiness.setStrArray(warehouseCodes);//去除重复的仓库编码
    }
%>
<%String repairTime = event.getRepairenTime(); %>
<% 
if(isfirst || repairTime == null || repairTime.equals("000000") || repairTime.equals("")){%>
    <%=UIManager.addListHeadTitle("集团车型单车材料费用对比")%>    
<%}else{%>
    <%=UIManager.addListHeadTitle("集团"+year+"年"+month+"月分车型单车材料费用")%>
<%}%>


<!--********************* Part6:List Area ***************-->

<%=uiListStart%>>
<%int index = 1 ;%>  
    <%=uiListHeadTR%>>
        <%=UIManager.addListHead("公司",index++)%>
        <%=UIManager.addListHead("车型",index++)%>
        <%=UIManager.addListHead("车号",index++)%>
        <%=UIManager.addListHead("上月费用",index++,"num")%>
        <%=UIManager.addListHead("本月费用",index++,"num")%>
        <%=UIManager.addListHead("本年累计费用",index++,"num")%>
        <%=UIManager.addListHead("本年月平均费用",index++,"num")%>
        <%=UIManager.addListHead("去年月平均费用",index++,"num")%>
        <%=UIManager.addListHead("本月份同比",index++,"num")%>
        <%=UIManager.addListHead("本月份环比",index++,"num")%>
    <%=uiListHeadTREnd%>>
    <%if(!isfirst ){ %>
        <%if( vec != null && vec.size() > 0) {%>
        <%Vector allValues = new Vector(); %><!--//创建保存所有仓库信息的集合  -->
            <%for(int i = 0;i < warehouseCodes.length;i++){%><!--//循环仓库列表  -->
                <%String busTypeCode[] = BusMaterialAccountBusiness.getValuesByIndexValueEquals(vec,warehouseCodes[i],1,2); %><!--//根据具体仓库得到相关车型  -->
                <%busTypeCode = BusMaterialAccountBusiness.setStrArray(busTypeCode);%><!--//去除本数组中的重复项    重新得到车型列表  -->
                <%Vector moneyVec = new Vector(); %><!--//创建保存单一仓库的信息集合  -->
                <%for(int j = 0;j < busTypeCode.length;j++){%><!--//循环车型列表  -->
                    <%String[] busTag = BusMaterialAccountBusiness.getValuesByIndexValueEquals(vec,busTypeCode[j],warehouseCodes[i],2,1,4);%><!--//得到类型对应的不重复的车牌号  -->
                    <%for(int k = 0;k < busTag.length;k++){%><!--//循环车辆列表  -->
                        <%if(j == 0 && k == 0){%><!--//如果循环的是第一个车型  则合并仓库的行  -->  
                            <%int wareCount = 1;  %><!--//算出应合并的仓库行数  -->
                            <%for(int busTypeCodeCount = 0;busTypeCodeCount < busTypeCode.length;busTypeCodeCount++){
                                String[] busTagTemp = BusMaterialAccountBusiness.getValuesByIndexValueEquals(vec,busTypeCode[busTypeCodeCount],warehouseCodes[i],2,1,4);//得到类型对应的不重复的车牌号
                                for(int busTagCount = 0;busTagCount < busTagTemp.length;busTagCount++){
                                    wareCount++;
                                }
                            } %>
                            <%=uiListDataTR[0]%> align=center>  
                                <%=uiListDataTD%> rowspan = "<%=wareCount%>"><%=Warehouse.getNameByCode(con,warehouseCodes[i]) %><!-- 根据车型数来合并仓库的行 --></td>
                                <%=uiListDataTD%> rowspan = "<%=busTag.length%>"><%=busTypeCode[j] %><!--//合并车型的行  --></td>
                                <%String[] moneys = BusMaterialAccountBusiness.getMoneyValues(year,month,busTag[k],warehouseCodes[i],con); %><!--//获取本车辆金额信息  -->
                                <%=uiListDataTD%>><%=busTag[k] %></td>      
                                <%=uiListDataTD%>><%=StringUtil.showPrice(Double.parseDouble(moneys[0]),2) %></td>
                                <%=uiListDataTD%>><%=StringUtil.showPrice(Double.parseDouble(moneys[1]),2) %></td>    
                                <%=uiListDataTD%>><%=StringUtil.showPrice(Double.parseDouble(moneys[2]),2) %></td>
                                <%=uiListDataTD%>><%=StringUtil.showPrice(Double.parseDouble(moneys[3]),2) %></td>   
                                <%=uiListDataTD%>><%=StringUtil.showPrice(Double.parseDouble(moneys[4]),2) %></td>    
                                <%=uiListDataTD%>><%=StringUtil.showPrice(Double.parseDouble(moneys[6]),2)+"("+StringUtil.showPrice(Double.parseDouble(moneys[7]),2)+"%)" %></td>
                                <%=uiListDataTD%>><%=StringUtil.showPrice(Double.parseDouble(moneys[8]),2)+"("+StringUtil.showPrice(Double.parseDouble(moneys[9]),2)+"%)" %></td>   
                            </tr>
                            <%moneyVec.add(moneys); %>   
                        <%}else{ %>  
                            <%if(k == 0){ //如果循环的是某个车型的第一个车辆%>
                                <%=uiListDataTR[0]%> align=center>  
                                    <%=uiListDataTD%> rowspan = "<%=busTag.length%>"><%=busTypeCode[j]%><!--//合并车型的行  --></td>
                                    <%String[] moneys = BusMaterialAccountBusiness.getMoneyValues(year,month,busTag[k],warehouseCodes[i],con); %><!--//获取本车辆金额信息  -->
                                    <%=uiListDataTD%>><%=busTag[k] %></td>      
                                    <%=uiListDataTD%>><%=StringUtil.showPrice(Double.parseDouble(moneys[0]),2) %></td>
                                    <%=uiListDataTD%>><%=StringUtil.showPrice(Double.parseDouble(moneys[1]),2) %></td>    
                                    <%=uiListDataTD%>><%=StringUtil.showPrice(Double.parseDouble(moneys[2]),2) %></td>
                                    <%=uiListDataTD%>><%=StringUtil.showPrice(Double.parseDouble(moneys[3]),2) %></td>   
                                    <%=uiListDataTD%>><%=StringUtil.showPrice(Double.parseDouble(moneys[4]),2) %></td>    
                                    <%=uiListDataTD%>><%=StringUtil.showPrice(Double.parseDouble(moneys[6]),2)+"("+StringUtil.showPrice(Double.parseDouble(moneys[7]),2)+"%)" %></td>
                                    <%=uiListDataTD%>><%=StringUtil.showPrice(Double.parseDouble(moneys[8]),2)+"("+StringUtil.showPrice(Double.parseDouble(moneys[9]),2)+"%)" %></td>
                                </tr>
                                <%moneyVec.add(moneys); %>   
                            <%}else{ %>
                                <%=uiListDataTR[0]%> align=center>  
                                    <%String[] moneys = BusMaterialAccountBusiness.getMoneyValues(year,month,busTag[k],warehouseCodes[i],con); %><!--//获取本车辆金额信息  -->
                                    <%=uiListDataTD%>><%=busTag[k] %></td>      
                                    <%=uiListDataTD%>><%=StringUtil.showPrice(Double.parseDouble(moneys[0]),2) %></td>
                                    <%=uiListDataTD%>><%=StringUtil.showPrice(Double.parseDouble(moneys[1]),2) %></td>    
                                    <%=uiListDataTD%>><%=StringUtil.showPrice(Double.parseDouble(moneys[2]),2) %></td>
                                    <%=uiListDataTD%>><%=StringUtil.showPrice(Double.parseDouble(moneys[3]),2) %></td>   
                                    <%=uiListDataTD%>><%=StringUtil.showPrice(Double.parseDouble(moneys[4]),2) %></td>    
                                    <%=uiListDataTD%>><%=StringUtil.showPrice(Double.parseDouble(moneys[6]),2)+"("+StringUtil.showPrice(Double.parseDouble(moneys[7]),2)+"%)" %></td>
                                    <%=uiListDataTD%>><%=StringUtil.showPrice(Double.parseDouble(moneys[8]),2)+"("+StringUtil.showPrice(Double.parseDouble(moneys[9]),2)+"%)" %></td>
                                </tr>
                                <%moneyVec.add(moneys); %>
                            <%}//如果循环的是某个车型的第一个车辆完 %>
                        <%}//如果循环的是第一个车型  则合并仓库的行完 %>
                    <%}//循环车辆列表 %>
                <%}//循环车型列表完 %>
                <%//计算小记开始
                double[] counts = new double[]{0,0,0,0,0,0,0,0,0,0};
                for(int z = 0;z < moneyVec.size();z++){
                    String[] moneys = (String[])moneyVec.get(z);
                    for(int x = 0;x < 10;x++){
                        counts[x] += Double.parseDouble(moneys[x]);
                    }
                }
                counts = BusMaterialAccountBusiness.countMoney(counts);
                %>
                <%=uiListDataTR[0]%> align=center>  
                <%=uiListDataTD%> colspan = "2">小记:</td>    
                    <%=uiListDataTD%>><%=StringUtil.showPrice(counts[0],2) %></td>
                    <%=uiListDataTD%>><%=StringUtil.showPrice(counts[1],2) %></td>    
                    <%=uiListDataTD%>><%=StringUtil.showPrice(counts[2],2) %></td>
                    <%=uiListDataTD%>><%=StringUtil.showPrice(counts[3],2) %></td>   
                    <%=uiListDataTD%>><%=StringUtil.showPrice(counts[4],2) %></td>    
                    <%=uiListDataTD%>><%=StringUtil.showPrice(counts[6],2)+"("+StringUtil.showPrice(counts[7],2)+"%)" %></td>
                    <%=uiListDataTD%>><%=StringUtil.showPrice(counts[8],2)+"("+StringUtil.showPrice(counts[9],2)+"%)" %></td>
                </tr> 
                <%//计算小记结束 %>
                <%allValues.add(moneyVec);//保存一个仓库的所有车型的金额信息 %><!--  -->
            <%}//循环仓库列表完 %>
            
            <%//计算总计开始
                double[] allCounts = new double[]{0,0,0,0,0,0,0,0,0,0};
                for(int q = 0;q < allValues.size();q++){
                    Vector single = (Vector)allValues.get(q);
                    for(int e = 0;e < single.size();e++){
                        String[] allMoneys = (String[])single.get(e);
                        for(int w = 0;w < 10;w++){
                            allCounts[w] += Double.parseDouble(allMoneys[w]);
                        }    
                    }
                }
                allCounts = BusMaterialAccountBusiness.countMoney(allCounts);
                %>
                <%=uiListDataTR[0]%> align=center>  
                <%=uiListDataTD%> colspan = "3">总计:</td>    
                    <%=uiListDataTD%>><%=StringUtil.showPrice(allCounts[0],2) %></td>
                    <%=uiListDataTD%>><%=StringUtil.showPrice(allCounts[1],2) %></td>    
                    <%=uiListDataTD%>><%=StringUtil.showPrice(allCounts[2],2) %></td>
                    <%=uiListDataTD%>><%=StringUtil.showPrice(allCounts[3],2) %></td>   
                    <%=uiListDataTD%>><%=StringUtil.showPrice(allCounts[4],2) %></td>    
                    <%=uiListDataTD%>><%=StringUtil.showPrice(allCounts[6],2)+"("+StringUtil.showPrice(allCounts[7],2)+"%)" %></td>
                    <%=uiListDataTD%>><%=StringUtil.showPrice(allCounts[8],2)+"("+StringUtil.showPrice(allCounts[9],2)+"%)" %></td>
                </tr> 
                <%//计算总计结束 %>    
                <%}else{  %>
          <%=uiListDataTR[0]%> align=center>  
            <%=uiListDataTD%> colspan = "10">查无记录</td>    
               
            </tr> 
        <%} %>        
        <%}//非首次登录执行完毕 %>
   

<!--********************* Part7:Action Area ***************-->
</form>


<%@ include file="/framework/foot.jsp"%>

<!--
	Author    :Benny
	FileName  :/system/base/BusMaterialAccountList.jsp
-->

